home *** CD-ROM | disk | FTP | other *** search
- ** RLaB Version 0.50 Available
-
- Rlab is a "MATLAB-like" matrix-oriented programming
- language/toolbox. Rlab has been in a closed alpha test for 5
- months, and is now available to all who are interested.
-
- ** Description:
-
- Rlab is _not_ a clone of languages such as those used by tools
- like MATLAB # or matrix_X/Xmath ##. However, as Rlab focuses
- on creating a good experimental environment (or laboratory) in
- which to do matrix math, it can be called "MATLAB-like" since
- its programming language possesses similar operators and
- concepts. Extensive use has been made of the LAPACK, FFTPACK
- and RANLIB sources available from netlib.
-
- The most significant difference between the other proprietary
- tools and RLaB is the GNU Copyleft.
-
- Currently Rlab has numeric scalars and matrices (real and
- complex), and string scalars, and matrices. Rlab also contains
- a list variable type, which is a heterogeneous associative
- array.
-
- A set of built-in functions is provided, as well as a
- capability to write your own functions in the Rlab language.
- The language contains IF, FOR, and WHILE flow control
- constructs, and a set of arithmetic, relational, and logical
- operators.
-
- The following is a list of the currently available functions:
-
- abs cross ifft mini reshape system
- acos det imag mod round tan
- all diag inf name scalar tanh
- any diary int nan show tic
- asin eig inv norm sign toc
- atan epsilon linspace ode23 sin trace
- atan2 error load ones sinh tril
- balance exp log pinv size triu
- ceil eye log10 plot solve type
- chol fft logspace printf sort what
- class find lu qr sprintf who
- clear floor matrix rand sqrt write
- close format max rank srand writem
- compan fprintf maxi rcond std zeros
- conj getline mean read strsplt
- cos hess members readm sum
- cosh hilb min real svd
-
- The following is an example of an Rlab function:
-
- //
- // Modified Gram-Schmidt
- // Given A (MxN), with rank(A) = N. The following algorithm computes
- // the factorization A = Q*R (skinny QR) where Q (MxN) has orthonormal
- // columns and R (NxN) is upper triangular
- //
- // Algorithm from MATRIX Computations,
- // G.H. Golub, C.F. Van Loan (page 219)
- //
-
- mgs = function(A)
- {
- local(a,k,j,n,m,q,r);
-
- a = A; // args passed by reference
- m = a.nr;
- n = a.nc;
- for(k in 1:n)
- {
- r[k;k] = norm( a[1:m;k], "2" );
- q[1:m;k] = a[1:m;k]/r[k;k];
- for(j in 1:n)
- {
- r[k;j] = q[1:m;k]' * a[1:m;j];
- a[1:m;j] = a[1:m;j] - q[1:m;k] * r[k;j];
- }
- }
- return << q = q; r = r >>; // return a list
- }
-
- ** Documentation:
-
- 1) The RLaB Primer is designed to get you started as a new
- user of RLaB. It covers the steps necessary to run RLaB,
- describes data types and operations, discusses programming
- constructs and the organization of your code, and introduces
- plotting. A quick reference section of available functions is
- also included. Files: latex source, tex dvi, and postscript.
-
- 2) The RLaB Reference Manual contains a set of "railroad"
- diagrams describing the language (like the pascal texts always
- include).
-
- The RLaB primer and Reference Manual will be available
- shortly. If you "register" with ians@eskimo.com, you will be
- notified when they are ready.
-
- 3) On-line help is present, and evolving (that is what you say
- when something can only get better :-)
-
- ** Implementation:
-
- RLaB is written in C. Although ANSI-C features have been used,
- they can be turned off. RLaB has been compiled with Sun's
- non-ANSI cc. The goal is, and will continue to be, to make
- RLaB as portable as possible.
-
- LAPACK, FFTPACK, and RANLIB Fortran libraries are used.
- Currently f2c'ed versions of these libraries are available. It
- is possible to use native Fortran libraries. In the future the
- choice of Fortran, or f2c will be selectable during configure.
- For the time being all that is needed is a C compiler, and the
- f2c libraries (available from netlib).
-
- GNUPLOT 3.x is used to handle the crude interactive plotting.
-
- Users are expected to obtain: GNUPLOT (prep.ai.mit.edu),
- libI77.a libF77.a (from the f2c distribution,
- research.att.com) themselves.
-
- Rlab has been ported to: SVR4 (i386)
- DECstation 3100 (Ultrix 4.x)
- Sun 4 (Sun OS-4.x)
- IBM RS/6000 (?)
- SGI
- HP-9000/720 (HP-UX 8.05)
- Titan P3000 (Sys Vr3.?/BSD)
- OS/2 *
- AMIGA-DOS *
-
- * Testers have compiled it on these platforms, but changes
- have not been integrated into the source distribution.
-
- ** Current Status:
-
- Even though Rlab has been through an alpha test, I still
- consider it alpha software (I hope my standards are on the
- strict side). However, it should not be long before we can
- safely label it beta-software.
-
- ** Bug Reports:
-
- Send bug reports, comments, complaints, suggestions, or
- whatever to: ians@eskimo.com. Please include a script which
- exercises the bug, along with a description of the hardware
- and software platform.
-
- ** Acknowledgements:
-
- I would like to thank Phillip Musumeci and Brad Hards for
- volunteering to do the bulk of the documentation.
-
- I would like to thank Mike Brennan and Scott Hunziker and Dave
- Wilson. I would also like to acknowledge the alpha testers who
- have made invaluable contributions.
-
- ** Where to get it:
-
- ftp-site: evans.ee.adfa.oz.au
- in: /pub/alpha/RLaB
-
- The minimum set of files to get is:
- rlab-0.50.tar.Z
- rblas.tar.Z BLAS library
- rlap-0.30.tar.Z LAPACK library
- rfft-0.11.tar.Z FFTPACK library
- rnlib-0.11.tar.Z RANLIB library
-
- Please try and get the sources during non prime time hours.
-
- Enjoy...
-
- Ian Searle
- ians@eskimo.com
-
- # MATLAB is a trademark of The Math Works.
- ## matrix_X and Xmath are trademarks of I.S.I.
-